package com.smart.service.util.seteA;

import com.smart.service.util.UtilCard;
import com.smart.service.util.exception.CardException;

public class ValidatorAmex implements CardValidator7A {

	@Override
	public boolean validateNumber(String numero, String validade) throws CardException {
		
		String formatado = UtilLogicCard.validateFormat(numero, validade);
		
		// tamanho 15, prefixos 34 e 37.
		if ((formatado.startsWith("34") || formatado.startsWith("37"))
				&& formatado.length() == 15) {
		} else {
			throw new CardException(UtilCard.CARTAO_ERRO);
		}
		
		return UtilLogicCard.luhnValidation(formatado);
	}

}
